/*******************************************************************************
 * 版权：北京润尼尔网络科技有限公司，保留所有版权<br>
 * 版本：v1.0.0<br>
 * 文件：UICompositeRadioButton.js<br>
 * 日期：2016年9月17日<br>
 * 作者: 杨顺强<br>
 * 功能：该组件有一个单选按钮和对应的一个button组成的复合组件（button可有可无，依据情况而定）
 * 	    完成dialog中当选部分的功能 
 * <br>
 * 
 * 修改记录：<br>
 * 日期 描述 更新功能<br>
 ******************************************************************************/
window.makeNamespace(window,"Rainier.UI.V2");

/**
 * 函数名称：Rainier.UI.V2.UICompositeRadioButton<br>
 * 函数功能：文字说明的横线组件<br>
 * 参数输入：<br>
 * 异常信息：<br>
 */
Rainier.UI.V2.UICompositeRadioButton = Rainier.UI.V2.UIComposite.extend({
	
	NAME : "Rainier.UI.V2.UICompositeRadioButton",
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeRadioButton.init<br>
	 * 函数功能：初始化横线组件<br>
	 * 参数输入：objParentComposite : UIComposite 父组件对象<br>
	 * 参数输入：objProperties:  格式按照如下方式填写
	 * {
	 *    optionName  :"",			//该参数为配置信息参数    必须为其赋值 
	 * 	  radio		  : 			//单选按钮组件	         必须有
	 * 	{
	 * 	 name 	: ""				//radio控件的name属性值
	 * 	 value	: ""				//radio控件的value值。当选中时获取
	 *   description:""				//radio控件后面跟的描述该radio组件的值	
	 * 	},
	 * 	  linkButton  : {}			//组件中的button控件(可有可无)，其参数配置参见easyUI官网中linkButton组件的properties属性，进行相应的配置		  
	 * }<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
	init : function(objParentComposite,objProperties){
		
		this.radio 				= null;			//当前组件中的radio控件
		this.linkButton 		= null;			//当前组件中的linkbutton控件
		if(objProperties.radio){
			this.radioProperties = objProperties.radio;
		}else{
			throw new Error("该组件的radio为必设项,请修改对象参数信息");
		}
		if(objProperties.linkButton){
			this.linButtonProperties = objProperties.linkButton;
		}
		
		this._super(objParentComposite,objProperties);
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeRadioButton.createComposite<br>
	 * 函数功能：组件创建函数，完成对组件的创建工作<br>
	 * 参数输入：eleParent ： 父节点Tag<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
	createComposite : function(eleParent){
		this._super(eleParent);
		var newEle = this.CreateElement("div",this.m_objProperties.id,null,{style:"margin-left:20px;margin-top:10px;width:210px;height:20px;float:left"});
		eleParent.append(newEle);
		var _this = this;
		//添加组件内容
		//第一步： 添加radio组件；
		var $input = null;
		if(this.radioProperties.description && this.radioProperties.name 
				&& this.radioProperties.value){
			$input	   = $("<input type='radio' style='vertical-align:middle;' name='' checked>&nbsp;<span style='text-align:center;'>"+this.radioProperties.description+" &nbsp;</a>");
			$input.attr("name",this.radioProperties.name);
			$input.attr("value",this.radioProperties.value);
		}else{
			throw new Error("参数错误，请重新填写对应的参数");
		}
		if($input){
			newEle.append($input);
			this.radio = $input;
		}
		
		if(this.linButtonProperties){
			this.linkButton = new Rainier.UI.V2.UICompositeLinkButton(this,this.linButtonProperties);
		}
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeRadioButton.getOptionName<br>
	 * 函数功能：获取当前组件的配置参数值<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：参数值optionName<br>
	 * 异常信息：<br>
	 */
	getOptionName : function(){
		return this.optionName;
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeRadioButton.getButton<br>
	 * 函数功能：获取当前组件中的linkButton子组件<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：子组件linkButton<br>
	 * 异常信息：无<br>
	 */
	getButton : function(){
		return this.linkButton;
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeRadioButton.getRadio<br>
	 * 函数功能：获取当前组件中的radio组件对象<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：radio 子组件<br>
	 * 异常信息：无<br>
	 */
	getRadio : function(){
		return this.radio ;
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeRadioButton.getComponentValueObj<br>
	 * 函数功能：获取组件中的值<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：组件中的值<br>
	 * 异常信息：无<br>
	 */
	getComponentValueObj : function(){
		
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeRadioButton.setComponentValue<br>
	 * 函数功能：设置组件的值<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
	setComponentValue	: function(){
		
	},
});
